home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 1 / Meeting Pearls Vol 1 (1994).iso / pastex / macros / script / script.sty (.txt) < prev    next >
Texinfo Document  |  1992-09-07  |  20KB  |  560 lines

  1. % script.sty -- by Frank Neukam  (06 Jun 1992)
  2. % based on Leslie Lamport's report and book styles.
  3. \typeout{Document Style `script' V1.0 by Frank Neukam <06 Jun 1992>}
  4. \font\tensfb  =cmssbx10 scaled \magstep0
  5. \font\elvsfb  =cmssbx10 scaled \magstephalf
  6. \font\twlsfb  =cmssbx10 scaled \magstep1
  7. \font\frtnsfb =cmssbx10 scaled \magstep2
  8. \font\svtnsfb =cmssbx10 scaled \magstep3
  9. \font\twtysfb =cmssbx10 scaled \magstep4
  10. \font\twfvsfb =cmssbx10 scaled \magstep5
  11. \def\@ptsize{1}
  12. \@namedef{ds@10pt}{\def\@ptsize{0}}
  13. \@namedef{ds@11pt}{\def\@ptsize{1}}
  14. \@namedef{ds@12pt}{\def\@ptsize{2}}
  15. \def\ds@draft{\overfullrule 5pt}
  16. \def\ds@twoside{\@twosidetrue \@mparswitchtrue}
  17. \@options
  18. \input script1\@ptsize.sty\relax
  19. \normalsize
  20. \newif\if@hincl
  21. \def\headincludeon{\@hincltrue}
  22. \def\headincludeoff{\@hinclfalse}
  23. \newif\if@hsl
  24. \def\headseplineon{\@hsltrue \@hincltrue}
  25. \def\headseplineoff{\@hslfalse \@hinclfalse}
  26. \headseplineoff
  27. \newdimen\sc@pw
  28. \newdimen\sc@ph
  29. \newdimen\sc@bcor
  30. \newcount\sc@div
  31. \newdimen\sc@hblk
  32. \newdimen\sc@vblk
  33. \newdimen\sc@temp
  34. \sc@pw 210mm
  35. \sc@ph 297mm
  36. \def\typearea{\@ifnextchar [{\@typearea}{\@typearea[0mm]}}
  37. \def\@typearea[#1]#2{
  38.  \sc@bcor #1
  39.  \sc@div=#2
  40.  \sc@hblk \sc@pw
  41.  \advance \sc@hblk by -\sc@bcor
  42.  \divide\sc@hblk by \sc@div
  43.  \oddsidemargin -1in
  44.  \evensidemargin -1in
  45.  \if@twoside
  46.   \advance\oddsidemargin by \sc@hblk
  47.   \advance\oddsidemargin by \sc@bcor
  48.   \advance\evensidemargin by 2\sc@hblk
  49.  \else
  50.   \advance\oddsidemargin by 1.5\sc@hblk
  51.   \advance\oddsidemargin by \sc@bcor
  52.   \evensidemargin\oddsidemargin
  53.  \textwidth \sc@pw
  54.  \advance\textwidth by -\sc@bcor
  55.  \advance\textwidth by -3\sc@hblk
  56.  \headheight 15pt
  57.  \headsep 1.5\baselineskip
  58.  \sc@vblk \sc@ph
  59.  \divide\sc@vblk by \sc@div
  60.  \sc@temp \sc@ph
  61.  \advance\sc@temp by -3\sc@vblk
  62.  \if@hincl
  63.   \advance\sc@temp by -\headheight
  64.   \advance\sc@temp by -\headsep
  65.  \textheight \topskip
  66.  \@whiledim\textheight<\sc@temp
  67.   \do{\advance\textheight by \baselineskip}
  68.  \topmargin \sc@vblk
  69.  \advance\topmargin by -1in
  70.  \if@hincl \else
  71.   \advance\topmargin by -\headheight
  72.   \advance\topmargin by -\headsep
  73.  \footskip 3.5\baselineskip
  74.  \if@twoside
  75.   \marginparwidth 1.5\sc@hblk
  76.  \else
  77.   \marginparwidth \sc@hblk
  78.  \marginparsep 1cc
  79.  \marginparpush 0.45\baselineskip}
  80. \def\areaset{\@ifnextchar [{\@areaset}{\@areaset[0mm]}}
  81. \def\@areaset[#1]#2#3{
  82.  \sc@bcor #1
  83.  \textwidth #2
  84.  \textheight #3
  85.  \sc@hblk \sc@pw
  86.  \advance\sc@hblk by -\sc@bcor
  87.  \advance\sc@hblk by -\textwidth
  88.  \divide\sc@hblk by 3
  89.  \oddsidemargin -1in
  90.  \evensidemargin -1in
  91.  \if@twoside
  92.   \advance\oddsidemargin by \sc@hblk
  93.   \advance\oddsidemargin by \sc@bcor
  94.   \advance\evensidemargin by 2\sc@hblk
  95.  \else
  96.   \advance\oddsidemargin by 1.5\sc@hblk
  97.   \advance\oddsidemargin by \sc@bcor
  98.   \evensidemargin\oddsidemargin
  99.  \headheight 15pt
  100.  \headsep 1.5\baselineskip
  101.  \sc@vblk \sc@ph
  102.  \advance\sc@vblk by -\textheight
  103.  \divide\sc@vblk by 3
  104.  \if@hincl
  105.   \advance\textheight by -\headheight
  106.   \advance\textheight by -\headsep
  107.  \topmargin \sc@vblk
  108.  \advance\topmargin by -1in
  109.  \if@hincl \else
  110.   \advance\topmargin by -\headheight
  111.   \advance\topmargin by -\headsep
  112.  \footskip 3.5\baselineskip
  113.  \if@twoside
  114.   \marginparwidth 1.5\sc@hblk
  115.  \else
  116.   \marginparwidth \sc@hblk
  117.  \marginparsep 1cc
  118.  \marginparpush 0.45\baselineskip}
  119. \ifcase \@ptsize\relax \typearea{8} \or \typearea{10} \or \typearea{12} \fi
  120. \parskip 0pt plus 1pt
  121. \parindent 1em
  122. \partopsep 3pt plus 2pt minus 2pt
  123. \footnotesep 0.6\baselineskip
  124. \skip\footins 0.75\baselineskip plus 4pt minus 2pt
  125. \skip\@mpfootins = \skip\footins
  126. \columnsep 1cc
  127. \columnseprule 0pt
  128. \floatsep 1\baselineskip plus 2pt minus 2pt
  129. \textfloatsep 20pt plus 2pt minus 4pt
  130. \intextsep 1\baselineskip plus 2pt minus 2pt
  131. \@maxsep 20pt
  132. \dblfloatsep 1\baselineskip plus 2pt minus 2pt
  133. \dbltextfloatsep 20pt plus 2pt minus 4pt
  134. \@dblmaxsep 20pt
  135. \@fptop 0pt plus 1fil
  136. \@fpsep 0.7\baselineskip plus 2fil
  137. \@fpbot 0pt plus 1fil
  138. \@dblfptop 0pt plus 1fil
  139. \@dblfpsep 0.7\baselineskip plus 2fil
  140. \@dblfpbot 0pt plus 1fil
  141. \arraycolsep 5pt
  142. \tabcolsep 6pt
  143. \arrayrulewidth 0.4pt
  144. \doublerulesep 2pt
  145. \fboxsep 3pt
  146. \fboxrule 0.4pt
  147. \tabbingsep \labelsep
  148. \labelsep .5em
  149. \leftmargini 2.5em
  150. \leftmarginii 2.2em
  151. \leftmarginiii 1.87em
  152. \leftmarginiv 1.7em
  153. \leftmarginv 1em
  154. \leftmarginvi 1em
  155. \leftmargin\leftmargini
  156. \labelwidth\leftmargini
  157. \advance\labelwidth-\labelsep
  158. \def\@listI{\leftmargin\leftmargini
  159.  \topsep 0.8em plus 0.2em minus 0.4em
  160.  \parsep 0.4em plus 2pt minus 1pt
  161.  \itemsep \parsep}
  162. \let\@listi\@listI
  163. \@listi
  164. \def\@listii{\leftmargin\leftmarginii
  165.  \labelwidth\leftmarginii\advance\labelwidth-\labelsep
  166.  \topsep 0.4em plus 2pt minus 1pt
  167.  \parsep 0.2em plus 1pt minus 1pt
  168.  \itemsep \parsep}
  169. \def\@listiii{\leftmargin\leftmarginiii
  170.  \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
  171.  \topsep 0.2em plus 1pt minus 1pt
  172.  \parsep \z@
  173.  \partopsep 1pt plus 0pt minus 1pt
  174.  \itemsep \topsep}
  175. \def\@listiv{\leftmargin\leftmarginiv
  176.  \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
  177. \def\@listv{\leftmargin\leftmarginv
  178.  \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
  179. \def\@listvi{\leftmargin\leftmarginvi
  180.  \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
  181. \@lowpenalty 51
  182. \@medpenalty 151
  183. \@highpenalty 301
  184. \@beginparpenalty -\@lowpenalty
  185. \@endparpenalty -\@lowpenalty
  186. \@itempenalty -\@lowpenalty
  187. \def\theenumi{\arabic{enumi}}
  188. \def\theenumii{\alph{enumii}}
  189. \def\theenumiii{\roman{enumiii}}
  190. \def\theenumiv{\Alph{enumiv}}
  191. \def\labelenumi{\theenumi.}
  192. \def\labelenumii{\theenumii)}
  193. \def\labelenumiii{\theenumiii.}
  194. \def\labelenumiv{\theenumiv.}
  195. \def\p@enumii{\theenumi}
  196. \def\p@enumiii{\theenumi\theenumii)}
  197. \def\p@enumiv{\p@enumiii\theenumiii}
  198. \def\labelitemi{$\bullet$}
  199. \def\labelitemii{\bf --}
  200. \def\labelitemiii{$\triangleright$}
  201. \def\labelitemiv{$\cdot$}
  202. \newcounter{part}
  203. \newcounter {chapter}
  204. \newcounter {section}[chapter]
  205. \newcounter {subsection}[section]
  206. \newcounter {subsubsection}[subsection]
  207. \newcounter {paragraph}[subsubsection]
  208. \newcounter {subparagraph}[paragraph]
  209. \def\thepart {\Roman{part}}
  210. \def\thechapter {\arabic{chapter}}
  211. \def\thesection {\thechapter.\arabic{section}}
  212. \def\thesubsection {\thesection.\arabic{subsection}}
  213. \def\thesubsubsection {\thesubsection .\arabic{subsubsection}}
  214. \def\theparagraph {\thesubsubsection.\arabic{paragraph}}
  215. \def\thesubparagraph {\theparagraph.\arabic{subparagraph}}
  216. \setcounter{secnumdepth}{2}
  217. \setcounter{tocdepth}{2}
  218. \def\verse{\let\\=\@centercr
  219.  \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
  220.  \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
  221. \let\endverse\endlist
  222. \def\quotation{\list{}{\listparindent 1em
  223.  \itemindent\listparindent
  224.  \rightmargin\leftmargin\parsep 0pt plus 1pt}\item[]}
  225. \let\endquotation=\endlist
  226. \def\quote{\list{}{\rightmargin\leftmargin}\item[]}
  227. \let\endquote=\endlist
  228. \def\descriptionlabel#1{\hspace\labelsep \sfb #1}
  229. \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
  230.  \let\makelabel\descriptionlabel}}
  231. \let\enddescription\endlist
  232. \newdimen\descriptionmargin
  233. \descriptionmargin=3em
  234. \def\labelinglabel#1{#1\hfil\sc@septext}
  235. \def\labeling{\@ifnextchar [{\@labeling}{\@labeling[]}}
  236. \def\@labeling[#1]#2{\def\sc@septext{#1}
  237.  \list{}{\settowidth{\labelwidth}{#2#1}
  238.  \leftmargin\labelwidth \advance\leftmargin by \labelsep
  239.  \let\makelabel\labelinglabel}}
  240. \let\endlabeling\endlist
  241. \def\marginline#1{\marginpar%
  242.  {\if@twoside \ifodd\c@page \raggedright \else \raggedleft \fi
  243.   \else \raggedright \fi #1}}
  244. \def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
  245.  \else \newpage \fi \thispagestyle{empty}\c@page\z@}
  246. \def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi}
  247. \def\next@tpage{\newpage\thispagestyle{empty}\null}
  248. \def\@extratitle{}
  249. \long\def\extratitle#1{\def\@extratitle{#1}}
  250. \def\@titlehead{}
  251. \long\def\titlehead#1{\def\@titlehead{#1}}
  252. \def\@subject{}
  253. \def\subject#1{\def\@subject{#1}}
  254. \def\@publishers{}
  255. \def\publishers#1{\def\@publishers{#1}}
  256. \def\@uppertitleback{}
  257. \long\def\uppertitleback#1{\def\@uppertitleback{#1}}
  258. \def\@lowertitleback{}
  259. \long\def\lowertitleback#1{\def\@lowertitleback{#1}}
  260. \def\@dedication{}
  261. \def\dedication#1{\def\@dedication{#1}}
  262. \def\maketitle{\@ifnextchar [{\@maketitle}{\@maketitle[1]}}
  263. \def\@maketitle[#1]{\bgroup \@restonecolfalse
  264.  \if@twocolumn \@restonecoltrue\onecolumn \else \newpage \fi
  265.  \thispagestyle{empty}\null
  266.  \setcounter{page}{#1}
  267.  \let\footnotesize\small
  268.  \let\footnoterule\relax
  269.  \ifx\@extratitle\@empty \else
  270.   \noindent\@extratitle \next@tpage \if@twoside \next@tpage \fi
  271.  \ifx\@titlehead\@empty \else
  272.   \noindent\begin{minipage}[t]{\textwidth}
  273.   \@titlehead
  274.   \end{minipage}\par
  275.  \null \vfill
  276.  \ifx\@subject\@empty \else
  277.   {\centering \Large \@subject \par}
  278.   \vskip 3em
  279.  {\centering \huge \sfb \@title \par}
  280.  \vskip 3em
  281.  {\centering \Large \lineskip 0.75em
  282.   \begin{tabular}[t]{c}\@author
  283.   \end{tabular}\par}
  284.  \vskip 1.5em
  285.  {\centering \Large \@date \par}
  286.  \vskip 0pt plus 3fill
  287.  {\centering \Large \@publishers \par}
  288.  \vskip 3em
  289.  \par \@thanks
  290.  \if@twoside \next@tpage
  291.   \noindent\begin{minipage}[t]{\textwidth}
  292.   \@uppertitleback
  293.   \end{minipage}\par
  294.   \vfill
  295.   \noindent\begin{minipage}[b]{\textwidth}
  296.   \@lowertitleback
  297.   \end{minipage}
  298.  \ifx\@dedication\@empty \else
  299.   \next@tpage \vfill
  300.   {\centering \Large \@dedication \par}
  301.   \vskip 0pt plus 3fill
  302.   \if@twoside \next@tpage \fi
  303.  \if@restonecol\twocolumn \else \newpage \fi
  304.  \egroup
  305.  \setcounter{footnote}{0}
  306.  \let\thanks\relax \gdef\@extratitle{}\gdef\@titlehead{}\gdef\@subject{}%
  307.  \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@publishers{}%
  308.  \gdef\@uppertitleback{}\gdef\@lowertitleback{}\gdef\@dedication{}%
  309.  \let\maketitle\relax \let\@maketitle\relax}
  310. \newif\if@abstrt
  311. \def\abstracton{\@abstrttrue}
  312. \def\abstractoff{\@abstrtfalse}
  313. \def\abstractname{Abstract}
  314. \def\abstract{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
  315.  \else \newpage \fi \thispagestyle{empty} \null \vfil
  316.  \if@abstrt \begin{center} {\sfb \abstractname} \end{center}\fi}
  317. \def\endabstract{\par \vfil \null
  318.  \if@twoside \next@tpage \fi
  319.  \if@restonecol\twocolumn \else \newpage \fi}
  320. \def\partname{Part}
  321. \def\part{\cleardoublepage \thispagestyle{empty} \if@twocolumn \onecolumn
  322.  \@tempswatrue \else \@tempswafalse \fi \null \vfil \secdef\@part\@spart}
  323. \def\@part[#1]#2{\ifnum \c@secnumdepth >-2\relax \refstepcounter{part}
  324.  \addcontentsline{toc}{part}{{\bf \thepart}\hspace{1em}#1}\else
  325.  \addcontentsline{toc}{part}{#1}\fi \markboth{}{}
  326.  {\centering \ifnum \c@secnumdepth >-2\relax \huge \sfb\partname{}
  327.  {\bf \thepart} \par \vskip 20pt \fi \Huge \sfb #2\par}\@endpart}
  328. \def\@spart#1{{\centering \Huge \sfb #1\par}\@endpart}
  329. \def\@endpart{\vfil\newpage \if@twoside \null \thispagestyle{empty}
  330.  \newpage \fi \if@tempswa \twocolumn \fi}
  331. \def\chaptername{Chapter}
  332. \def\@chapapp{\chaptername}
  333. \def\chaptermark#1{}
  334. \def\chapter{\clearpage \thispagestyle{plain} \global\@topnum\z@
  335.  \@afterindentfalse \secdef\@chapter\@schapter}
  336. \def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne
  337.   \refstepcounter{chapter}
  338.   \typeout{\@chapapp\space\thechapter.}
  339.   \addcontentsline{toc}{chapter}{\protect \numberline{\thechapter.}#1}
  340.  \else
  341.   \addcontentsline{toc}{chapter}{#1}\fi
  342.  \chaptermark{#1}
  343.  \addtocontents{lof}{\protect\addvspace{10pt}}
  344.  \addtocontents{lot}{\protect\addvspace{10pt}}
  345.  \if@twocolumn \@topnewpage[\@makechapterhead{#2}]
  346.  \else \@makechapterhead{#2} \fi \@afterheading}
  347. \def\@schapter#1{\if@twocolumn \@topnewpage[\@makeschapterhead{#1}]
  348.  \else \@makeschapterhead{#1} \fi \@afterheading}
  349. \def\@makechapterhead#1{\vspace*{50pt} {\Huge \sfb
  350.  \@hangfrom{\ifnum \c@secnumdepth >\m@ne \thechapter. \fi}%
  351.  {\raggedright \interlinepenalty \@M #1\par}} \nobreak \vskip 40pt}
  352. \def\@makeschapterhead#1{\vspace*{50pt} {\Huge \sfb \@hangfrom{}%
  353.  {\raggedright \interlinepenalty \@M #1\par}} \nobreak \vskip 40pt}
  354. \def\addchap{\clearpage \thispagestyle{plain} \global\@topnum\z@
  355.  \@afterindentfalse \secdef\@addchap\@saddchap}
  356. \def\@addchap[#1]#2{\typeout{#2}
  357.  \addcontentsline{toc}{chapter}{#1}
  358.  \if@twoside \markboth{#1}{}\else \markright{#1} \fi
  359.  \addtocontents{lof}{\protect\addvspace{10pt}}
  360.  \addtocontents{lot}{\protect\addvspace{10pt}}
  361.  \if@twocolumn \@topnewpage[\@makeschapterhead{#2}]
  362.  \else \@makeschapterhead{#2} \fi \@afterheading}
  363. \def\@saddchap#1{\markboth{}{}
  364.  \if@twocolumn \@topnewpage[\@makeschapterhead{#1}]
  365.  \else \@makeschapterhead{#1} \fi \@afterheading}
  366. \def\appendixname{Appendix}
  367. \def\appendix{\par
  368.  \setcounter{chapter}{0}
  369.  \setcounter{section}{0}
  370.  \def\@chapapp{\appendixname}
  371.  \def\thechapter{\Alph{chapter}}}
  372. \def\section{\@startsection {section}{1}{\z@}{-3.5ex plus -1ex minus
  373.  -.2ex}{2.3ex plus .2ex}{\Large \sfb}}
  374. \def\subsection{\@startsection{subsection}{2}{\z@}{-3.25ex plus -1ex minus
  375.  -.2ex}{1.5ex plus .2ex}{\large \sfb}}
  376. \def\subsubsection{\@startsection{subsubsection}{3}{\z@}{-3.25ex plus -1ex
  377.  minus -.2ex}{1.5ex plus .2ex}{\sfb}}
  378. \def\paragraph{\@startsection{paragraph}{4}{\z@}{3.25ex plus 1ex minus
  379.  .2ex}{-1em}{\sfb}}
  380. \def\subparagraph{\@startsection{subparagraph}{4}{\parindent}{3.25ex plus
  381.  1ex minus .2ex}{-1em}{\sfb}}
  382. \def\minisec#1{\@afterindentfalse \vskip 1.5ex {\parindent 0pt \raggedright
  383.  \sfb #1\par\nobreak}\@afterheading}
  384. \def\contentsname{Contents}
  385. \def\@pnumwidth{1.55em}
  386. \def\@tocrmarg {2.55em}
  387. \def\@dotsep{4.5}
  388. \def\tableofcontents{\@restonecolfalse
  389.  \if@twocolumn\@restonecoltrue\onecolumn\fi
  390.  \chapter*{\contentsname \@mkboth{\contentsname}{\contentsname}}
  391.  \@starttoc{toc}\if@restonecol\twocolumn\fi}
  392. \def\l@part#1#2{\addpenalty{-\@highpenalty}
  393.  \addvspace{2.25em plus 1pt} \begingroup
  394.  \@tempdima 3em \parindent \z@ \rightskip \@pnumwidth \parfillskip
  395.  -\@pnumwidth
  396.  {\sfb \leavevmode #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
  397.  \nobreak \global\@nobreaktrue \everypar{\global\@nobreakfalse\everypar{}}
  398.  \endgroup}
  399. \def\l@chapter#1#2{\addpenalty{-\@highpenalty}
  400.  \vskip 1.0em plus 1pt \@tempdima 1.5em \begingroup
  401.  \parindent \z@ \rightskip \@pnumwidth
  402.  \parfillskip -\@pnumwidth
  403.  \sfb \leavevmode \advance\leftskip\@tempdima \hskip -\leftskip
  404.  #1\nobreak\hfil\nobreak\hbox to\@pnumwidth{\hss #2}\par
  405.  \penalty\@highpenalty \endgroup}
  406. \def\l@section{\@dottedtocline{1}{1.5em}{2.3em}}
  407. \def\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}}
  408. \def\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}}
  409. \def\l@paragraph{\@dottedtocline{4}{10em}{5em}}
  410. \def\l@subparagraph{\@dottedtocline{5}{12em}{6em}}
  411. \def\listfigurename{List of Figures}
  412. \def\listoffigures{\@restonecolfalse
  413.  \if@twocolumn\@restonecoltrue\onecolumn\fi
  414.  \chapter*{\listfigurename \@mkboth{\listfigurename}{\listfigurename}}
  415.  \@starttoc{lof}\if@restonecol\twocolumn\fi}
  416. \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
  417. \def\listtablename{List of Tables}
  418. \def\listoftables{\@restonecolfalse
  419.  \if@twocolumn\@restonecoltrue\onecolumn\fi
  420.  \chapter*{\listtablename \@mkboth{\listtablename}{\listtablename}}
  421.  \@starttoc{lot}\if@restonecol\twocolumn\fi}
  422. \let\l@table\l@figure
  423. \def\bibname{Bibliography}
  424. \def\thebibliography#1{\chapter*{\bibname \@mkboth{\bibname}{\bibname}}
  425.  \list{[\arabic{enumi}]}{\settowidth\labelwidth{[#1]}\leftmargin\labelwidth
  426.  \advance\leftmargin\labelsep
  427.  \usecounter{enumi}}
  428.  \def\newblock{\hskip 0.11em plus 0.33em minus 0.07em}
  429.  \sloppy\clubpenalty4000\widowpenalty4000
  430.  \sfcode`\.=1000\relax}
  431. \let\endthebibliography=\endlist
  432. \def\indexname{Index}
  433. \newif\if@restonecol
  434. \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
  435.  \columnseprule \z@
  436.  \columnsep 35pt\twocolumn[\@makeschapterhead{\indexname}]
  437.  \@mkboth{\indexname}{\indexname}
  438.  \thispagestyle{plain}\parindent\z@
  439.  \parskip\z@ plus 0.3pt\relax\let\item\@idxitem}
  440. \def\@idxitem{\par\hangindent 40pt}
  441. \def\subitem{\par\hangindent 40pt \hspace*{20pt}}
  442. \def\subsubitem{\par\hangindent 40pt \hspace*{30pt}}
  443. \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
  444. \def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax}
  445. \@addtoreset{footnote}{chapter}
  446. \def\footnoterule{\kern-3\p@
  447.  \hrule width 0.4\columnwidth
  448.  \kern 2.6\p@}
  449. \long\def\@makefntext#1{\noindent \sc@temp\columnwidth%
  450.  \advance\sc@temp by -1.5em \hbox to 1em{\hss$^{\@thefnmark}$}\hskip .5em%
  451.  \parbox[t]{\sc@temp}{\parindent 0pt\parskip 0pt\hskip -.5em #1}}
  452. \@addtoreset{equation}{chapter}
  453. \def\theequation{\thechapter.\arabic{equation}}
  454. \setcounter{topnumber}{2}
  455. \def\topfraction{.7}
  456. \setcounter{bottomnumber}{1}
  457. \def\bottomfraction{.3}
  458. \setcounter{totalnumber}{3}
  459. \def\textfraction{.2}
  460. \def\floatpagefraction{.5}
  461. \setcounter{dbltopnumber}{2}
  462. \def\dbltopfraction{.7}
  463. \def\dblfloatpagefraction{.5}
  464. \long\def\@makecaption#1#2{\vskip 10pt \setbox\@tempboxa\hbox{#1: #2}
  465.  \ifdim \wd\@tempboxa >\hsize \@hangfrom{#1: }{#2\par}
  466.  \else \hbox to\hsize{\hfil\box\@tempboxa\hfil}
  467.  \fi}
  468. \def\figurename{Figure}
  469. \newcounter{figure}[chapter]
  470. \def\thefigure{\thechapter.\@arabic\c@figure}
  471. \def\fps@figure{tbp}
  472. \def\ftype@figure{1}
  473. \def\ext@figure{lof}
  474. \def\fnum@figure{\figurename{} \thefigure}
  475. \def\figure{\@float{figure}}
  476. \let\endfigure\end@float
  477. \@namedef{figure*}{\@dblfloat{figure}}
  478. \@namedef{endfigure*}{\end@dblfloat}
  479. \def\tablename{Table}
  480. \newcounter{table}[chapter]
  481. \def\thetable{\thechapter.\@arabic\c@table}
  482. \def\fps@table{tbp}
  483. \def\ftype@table{2}
  484. \def\ext@table{lot}
  485. \def\fnum@table{\tablename{} \thetable}
  486. \def\table{\@float{table}}
  487. \let\endtable\end@float
  488. \@namedef{table*}{\@dblfloat{table}}
  489. \@namedef{endtable*}{\end@dblfloat}
  490. \mark{{}{}}
  491. \if@twoside
  492.  \def\ps@plain{\let\@mkboth\@gobbletwo
  493.   \def\@evenhead{}%
  494.   \def\@oddhead{}%
  495.   \def\@evenfoot{\rm\thepage\hfil}%
  496.   \def\@oddfoot{\rm\hfil\thepage}}
  497.  \def\ps@headings{\let\@mkboth\markboth
  498.   \def\@evenhead{\vbox{\hsize=\textwidth
  499.    \hbox to \textwidth{\it\leftmark\hfil}
  500.    \if@hsl \vskip 1.5pt \hrule \fi}}%
  501.   \def\@oddhead{\vbox{\hsize=\textwidth
  502.    \hbox to \textwidth{\it\hfil\rightmark}
  503.    \if@hsl \vskip 1.5pt \hrule \fi}}%
  504.   \def\@evenfoot{\rm\thepage\hfil}%
  505.   \def\@oddfoot{\rm\hfil\thepage}%
  506.   \def\chaptermark##1{\markboth {\ifnum \c@secnumdepth >\m@ne
  507.    \thechapter. \ \fi ##1}{}}%
  508.   \def\sectionmark##1{\markright {\ifnum \c@secnumdepth >\z@
  509.    \thesection\ \ \fi ##1}}%
  510.   \def\subsectionmark##1{}}
  511.  \def\ps@myheadings{\let\@mkboth\@gobbletwo
  512.   \def\@evenhead{\vbox{\hsize=\textwidth
  513.    \hbox to \textwidth{\it\leftmark\hfil}
  514.    \if@hsl \vskip 1.5pt \hrule \fi}}%
  515.   \def\@oddhead{\vbox{\hsize=\textwidth
  516.    \hbox to \textwidth{\it\hfil\rightmark}
  517.    \if@hsl \vskip 1.5pt \hrule \fi}}%
  518.   \def\@evenfoot{\rm\thepage\hfil}%
  519.   \def\@oddfoot{\rm\hfil\thepage}%
  520.   \def\chaptermark##1{}%
  521.   \def\sectionmark##1{}%
  522.   \def\subsectionmark##1{}}
  523. \else
  524.  \def\ps@plain{\let\@mkboth\@gobbletwo
  525.   \def\@evenhead{}%
  526.   \def\@oddhead{}%
  527.   \def\@evenfoot{}%
  528.   \def\@oddfoot{\rm\hfil\thepage\hfil}}
  529.  \def\ps@headings{\let\@mkboth\markboth
  530.   \def\@evenhead{}%
  531.   \def\@oddhead{\vbox{\hsize=\textwidth
  532.    \hbox to \textwidth{\it\hfil\rightmark\hfil}
  533.    \if@hsl \vskip 1.5pt \hrule \fi}}%
  534.   \def\@evenfoot{}%
  535.   \def\@oddfoot{\rm\hfil\thepage\hfil}%
  536.   \def\chaptermark##1{\markright {\ifnum \c@secnumdepth >\m@ne
  537.    \thechapter. \ \fi ##1}}%
  538.   \def\sectionmark##1{}%
  539.   \def\subsectionmark##1{}}
  540.  \def\ps@myheadings{\let\@mkboth\@gobbletwo
  541.   \def\@evenhead{}%
  542.   \def\@oddhead{\vbox{\hsize=\textwidth
  543.    \hbox to \textwidth{\it\hfil\rightmark\hfil}
  544.    \if@hsl \vskip 1.5pt \hrule \fi}}%
  545.   \def\@evenfoot{}%
  546.   \def\@oddfoot{\rm\hfil\thepage\hfil}%
  547.   \def\chaptermark##1{}%
  548.   \def\sectionmark##1{}%
  549.   \def\subsectionmark##1{}}
  550. \def\today{\ifcase\month\or
  551.  January\or February\or March\or April\or May\or June\or
  552.  July\or August\or September\or October\or November\or December\fi
  553.  \space\number\day, \number\year}
  554. \@abstrttrue
  555. \ps@headings
  556. \pagenumbering{arabic}
  557. \onecolumn
  558. \if@twoside \else \raggedbottom \fi
  559. \frenchspacing
  560.